/* Zatok - язык программирования текстовых игр
 * (С) 2010 - 2012 Меркулов Матвей Юрьевич
 * Код лицензирован под лицензией GNU LGPL
 * Вы можете прочитать текст лицензии по адресу:
 * http://www.gnu.org/copyleft/lesser.html
 * или прочитать русский перевод по адресу:
 * http://ru.wikisource.org/wiki/GNU_Lesser_General_Public_License
 */

package base.function;

import base.CProject;
import base.value.CObjectValue;
import base.value.CValue;

public class CObjectFunction extends CFunction {
	public CObjectValue ReturnedValue = new CObjectValue( null );
		
	
	
	@Override
	public CValue GetValue() {
		ReturnedValue.Value = ToObject();
		return ReturnedValue;
	}
	
	
	
	@Override
	public boolean ToBoolean(){
		return ToObject() != CProject.Null;
	}
	
	
	
	@Override
    public int ToInt(){
		return ToObject().ID;
	}



	@Override
    public float ToFloat(){
		return ToObject().ID;
	}



	@Override
	public String ToString(){
		return ToObject().BaseData.Name[ 0 ];
	}



	@Override
	public CValue[] ToArray() {
		CValue[] Array = new CValue[ 1 ];
		Array[ 0 ] = new CObjectValue( ToObject() );
		return Array;
	}
}